package com.example.demo.mapper;

import com.example.demo.model.dto.art.ArtListDto;
import com.example.demo.model.entity.ArtPhoto;
import com.example.demo.model.entity.Artinfo;
import com.example.demo.model.entity.Likes;
import com.example.demo.model.vo.ArtinfoVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User:龙宝
 * Date:2024-05-14
 * Time:9:04
 */
@Mapper
public interface ArtMapper {
    //发布文章
    int pubArt(Artinfo artinfo);
    int pubArtPic(ArtPhoto artPhoto);
    //查询文章列表
    List<ArtinfoVO> artList(ArtListDto dto);
    //查询个人文章列表
    List<ArtinfoVO> artOneList(ArtListDto dto);
    //查询userid收藏的文章id-s
    List<Integer> artCollectIdList(ArtListDto dto);
    //查询userid喜欢的文章id-s
    List<Integer> artLikeIdList(ArtListDto dto);
    //根据artid查询artinfo
    List<ArtinfoVO> artById(List<Integer> ids);
    //私密 / 草稿
    List<ArtinfoVO> artSpecialList(Integer userId, Integer stat);
    //根据artID查询photos
    List<ArtPhoto> artPhotoById(Integer artId);
    //通过artid查询userid
    Integer userIdByArt(Integer id);
    //删除作品
    Integer delArt(Integer id);
    //删除作品照片
    Integer delArtPhotos(Integer id);
    //作品详情
    Artinfo artInfo(Integer id);
    List<ArtPhoto> artInfoPhoto(Integer id);
    //是否点赞
    Likes artIsLike(Integer postId, Integer artId);
    //新增点赞
    Integer artLike(Likes likes);
    //点赞
    Integer alterArtLike(Integer id, Integer stat);
    //是否收藏
    Likes artIsCollect(Integer postId, Integer artId);
    //新增收藏
    Integer artCollect(Likes likes);
    //收藏
    Integer alterArtCollect(Integer id, Integer stat);
    //三联数量
    Integer likeArtCnt(Integer id);
    Integer collectArtCnt(Integer id);
    Integer commentArtCnt(Integer id);
}
